package edu.upc.clase.demo.service.impl;

import edu.upc.clase.demo.dao.BancoDao;
import edu.upc.clase.demo.dao.impl.BancoDaoImpl;
import edu.upc.clase.demo.entity.Banco;
import edu.upc.clase.demo.service.BancoService;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 *
 * @author Carlos Ríos Rosales
 */
@Service
public class BancoServiceImpl implements BancoService {

  private static Logger log = LoggerFactory.getLogger(BancoDaoImpl.class);
  
  @Autowired
  private BancoDao bancoDao;
  
  @Override
  public Integer insertar(Banco banco) {
    if (banco.getCodigo().length() > 0 & banco.getCodigo().length() <= 5){
      log.info("Creando Banco");
      return bancoDao.insertar(banco);
    }
    return null;
  }

  @Override
  public void actualizar(Banco banco) {
    log.info("Actualizando Banco");
    bancoDao.actualizar(banco);
  }

  @Override
  public void eliminar(Banco banco) {
    log.info("Eliminando Banco");
    bancoDao.eliminar(banco);
  }

  @Override
  public List<Banco> buscarTodos() {
    log.info("Buscando todos los Bancos");
    return bancoDao.buscarTodos();
  }

  @Override
  public Banco buscarCodigo(String codigo) {
    log.info("Buscando todos los Bancos");
    return bancoDao.buscarCodigo(codigo);
  }
  
  @Override
  public Banco buscarIdBanco(Integer idBanco){
    log.info("Buscando todos los Bancos");
    return bancoDao.buscarIdBanco(idBanco);
  }
  
      @Override
    public List<Banco> buscarPorNombre(String nombre) {
        return bancoDao.buscarPorNombre(nombre);
    } 
}
